iT邦幫忙

2024 iThome 鐵人賽

DAY 6
0

昨天建好我們第一個 Repo,我有提到我們在公開我們的原始碼的時候,會需要 License(授權/許可證)這個東西來保障我們的權益,有點像是智慧財產權或是我們拍照拍出的照片的所有權之類的東西。
License 的種類很多,除了比較泛用的以外,有些 Open Source 專案也會自己寫自己的 License。今天會介紹比較常用到的幾個泛用的,有興趣的話可以從這個 網站 現行所有的 Licenses。

MIT

來源自麻省理工大學(Massachusetts Institute of Technology,簡寫 MIT),是目前最廣泛使用的 License 之一。他的特色是規範相對寬鬆,開源的作者只會在意版權的保留,而任何使用授權的原始碼的作品,其他人可以任意複製、修改,要免費讓人使用或是營利都沒關係,只需要註明出處、作者以及確認使用MIT。
因為 MIT 相對寬鬆的關係,他已經成為近年最常被使用到的 License,很多有名的 Open Source Project 都是直接使用 MIT,例如:寫網頁前端的 React、Python 爬蟲工具 beautifulsoup 以及去年提到的 MLB 資料套件 pybaseball 都是使用 MIT

Apache 2.0

他也跟 MIT 一樣屬於比較寬鬆的 License,跟 MIT 不一樣的地方是,如果使用者修改檔案的話,他會需要在修改過的地方,額外附加明顯的標示,讓之後使用的人知道修改者在哪些地方修改過。比較有名的例子:實作 Computer Vision 的 OpenCV、實作機械學習的套件 TensorFlow

GPLv3(GNU General Public License v3.0)

GPL 是世界上第一個 Open Source License,他的一大特色是,使用他的衍生作品也必須要使用 GPL,不能改使用別的 License 像是前面提到的 MIT 跟 Apache,同時也必須一定要開放可編譯的原始碼給大眾,因此使用他的 Project 就會比較少應用在商業軟體上面。最知名的例子就是 Linux

比較常見可能就是這三個,對於 License 方面我其實也沒有那麼深入研究,大多數內容也是參考以下幾篇我覺得整理的很好的文章,如果有興趣的人可以去一探究竟:

在 Github Repo 加入 License

介紹完 License,我們這次要選用哪一種並加到我們的 Repo 呢?首先在選擇上面,上面提到的在開源時代的興起下,如何透過License共享並保有權益有提供一個很棒的參考圖:
https://ithelp.ithome.com.tw/upload/images/20240920/20163024ocDrgrSz4S.png

不過因為我們有前輩 pybaseball 當範例,所以我就跟他們一樣選用 MIT 當我們這次套件的 License。

要加入 License 進我們 Repo 的話,有幾個步驟

  1. 首先先到我們的 Repo 頁
  2. 點選 Add file 跟裡面的 Create new file
    https://ithelp.ithome.com.tw/upload/images/20240920/20163024dSy0EjLOi9.png
  3. 會看到一個 Input 裡面有預設 Name your file...,在裡面輸入 license 後下方會出現 Choose a license template
    https://ithelp.ithome.com.tw/upload/images/20240920/20163024QaW3nScb3y.png
  4. 點選完會帶你進到 Github Repo 的 Insights 頁,這邊我們就直接選 MIT License
    https://ithelp.ithome.com.tw/upload/images/20240920/201630248DslJrujJv.png
  5. 會顯示你選擇的 License 的詳細內容,最右邊會有年份跟作者姓名,確定沒問題就點選 Review and submit
    https://ithelp.ithome.com.tw/upload/images/20240920/20163024N7gzGRAg8i.png
  6. 接下來按右邊的 Commit changes... 後會再跳出一個 Modal,請你輸入 commit 的內容,之後會介紹 commit 是什麼東西,現在可以先當他是一個修改紀錄,我們就用預設的資訊就好,最後再按 Modal 裡的 Commit Change
    https://ithelp.ithome.com.tw/upload/images/20240920/2016302462PlG75EbL.png
  7. 結束後,可以看到我們的 Repo 多了一個 LICENSE 的 file,然後在 About 的地方多了一個 MIT License,這樣就算成功把 License 加到我們的 Repo 裡了
    https://ithelp.ithome.com.tw/upload/images/20240920/2016302497e2PT9Cey.png

本日小結

今天簡單介紹了一下 License 這個東西,大家之後在使用或是自己創建 Open Source Project 的時候不仿也去看看別人用了哪種 License 吧!明天會介紹 git 指令,來幫助我們開發我們的專案。
今天一樣感謝大家耐心地看完,有任何問題與建議也歡迎大家在留言告知我,我們明天見 掰掰


上一篇
Day 05 - 在 Github 上面建立專案
下一篇
Day 07 - Git 介紹
系列文
上次介紹的棒球套件很少更新了,那就只好自己寫一個!?12
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言